The present invention relates to the field of a networking communication system, and more particularly to reserving a bank in memory for the storage of frame modification data instead of storing frame modification data in a field of a frame control block.
A packet switching network has switching points or nodes for transmission of data among senders and receivers connected to the network. The switching performed by these switching points is in fact the action of passing on packets or xe2x80x9cframesxe2x80x9d of data received by a switching point or node to a further node in the network. Such switching actions are the means by which communication data is moved through the packet switching network.
Each node may comprise a packet processor configured to process packets or frames of data. Each frame of data may be associated with a Frame Control Block (FCB) configured to describe the associated frame of data. Typically, FCBs comprise various fields of information where the fields of information are supplied by a memory, e.g., Quadruple Data Rate Static Random Access Memory (QDR SRAM), in the packet processor. That is, the fields of information in FCBs are obtained by accessing the memory, e.g., QDR SRAM, in the packet processor. Typically, the fields of an FCB may comprise frame control information and frame modification information.
It would therefore be desirable to limit the number of fields in field control blocks thereby reducing the number of memory accesses and improving memory space efficiency, i.e., efficiency of the bandwidth of the memory storing field information.
The problems outlined above may at least in part be solved in some embodiments by reserving a bank in a data storage unit to store frame modification information, e.g., frame modification commands, during a write access to the data storage unit that involves the storing of the ending of a first frame of data in a first buffer of the data storage unit. By reserving a bank in a data storage unit to store frame modification information FCBs do not need to include fields to store frame modification information thereby reducing the number of memory accesses and improving the efficiency of the bandwidth of the memory storing field information. Data storage unit may comprise a plurality of buffers where two buffers may be accessed during one write access. Each buffer may comprise a plurality of banks, e.g., bank A, bank B, bank C and bank D. Data may be written to the data storage unit from the top bank to the bottom bank in order. For example, if bank A is the top bank and bank D is the bottom bank, then data may be written from bank A to bank B to bank C to bank D. Since a buffer may not store different frames of data, when the end of a first frame of data is written in a bank, e.g., bank B, of a first buffer, the start of a second frame of data may be written in a subsequent bank, e.g., bank C, in a second buffer during the same access. Subsequently, a bank, e.g., bank B, in the second buffer may be reserved for storing frame modification information since frame data will not be written in that particular bank. That is, the bank in the second buffer reserved for storing frame modification information corresponds to the bank storing the end of the first frame of data in the first buffer. If the end of the first frame of data is stored in the last bank, e.g., bank D, of the first buffer, then a third buffer may be accessed to store the beginning frame data of a second frame in a second access. That is, the last bank, e.g., bank D, may be reserved for storing frame modification information in the second buffer and the beginning of the second frame of data may be stored in a third buffer in a second access.
In one embodiment, a system comprises a processor configured to process frames of data. The processor may comprise a data flow unit configured to receive and transmit frames of data. The processor may further comprise a data storage unit coupled to the data flow unit where the data storage unit comprises a plurality of buffers. The plurality of buffers may be configured to store frames of data where two buffers may be accessed during one write access. Data may be written to the data storage unit from the top bank to the bottom bank in order. For example, if bank A is the top bank and bank D is the bottom bank, then data may be written from bank A to bank B to bank C to bank D. Since a buffer may not store different frames of data, when the end of a first frame of data is written in a bank, e.g., bank B, of a first buffer, the start of a second frame of data may be written in a subsequent bank, e.g., bank C, in a second buffer during the same access. Subsequently, a bank, e.g., bank B, in the second buffer may be reserved for storing frame modification information since frame data will not be written in that particular bank. That is, the bank in the second buffer reserved for storing frame modification information corresponds to the bank storing the end of the first frame of data in the first buffer.
In another embodiment of the present invention, if the end of the first frame of data is stored in the last bank, e.g., bank D, of the first buffer storing the ending of the first frame of data, then a third buffer may be accessed to store the beginning frame data of a second frame in a second access.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.